/*
Kakine
ActionScript Framework
Copyright © 2011, PUNY, LLC.

This file is part of KAKINE.

KAKINE is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

KAKINE is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with KAKINE.  If not, see <http://www.gnu.org/licenses/>.
*/ 
package com.puny.utils.easing {
	/**
	 * sin/cos &lt; x^2 &lt; x+sin/cos &lt; x^3 &lt; x^4 ...
	 * @author puny
	 * 
	 */
	public interface IEasing	{
		/**
		 * Initialize this easing effect.
		 * 
		 */
		function initialize():void;
		
		/**
		 * Make it forward and get a new position.
		 * @return a new position
		 * 
		 */
		function forward():Number;
		/**
		 * Check if this easing effect ends or not. 
		 * @return If <code>true</code>, it's still in easing effect. If <code>false</code>, this easing effect has already ended.
		 * 
		 */
		function isMoving():Boolean;
		
		function get pos():uint;
		function set pos(value:uint):void;
	}
}